package com.hwadee.property.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.hwadee.property.dto.RepairsPersonal;
import com.hwadee.property.pojo.Repair;
import com.hwadee.property.dto.PageResult;

import java.util.List;

public interface IRepairService extends IService<Repair> {
    PageResult<Repair> getPage(int current, int size, Long communityID, String processingStatus);

    /**
     * 根据房屋 ID 查询报修记录
     *
     * @param houseId 房屋 ID
     * @return 报修记录列表
     */
    List<Repair> listByHouseId(Long houseId);

    /**
     * 更新报修状态
     *
     * @param repairId 报修 ID
     * @param status   新状态
     * @return 是否更新成功
     */
    boolean updateStatus(Long repairId, String status);

    /**
     * 分配处理人员
     *
     * @param repairId 报修 ID
     * @param handlerId 处理人员 ID
     * @return 是否分配成功
     */
    boolean assignHandler(Long repairId, Long handlerId);

    /**
     * 根据状态查询报修记录
     *
     * @param status 报修状态
     * @return 报修记录列表
     */
    List<Repair> listByStatus(String status);

    /**
     * 完成报修并记录反馈
     *
     * @param repairId 报修 ID
     * @param feedBack 维修反馈
     * @return 是否完成成功
     */
    boolean completeRepair(Long repairId, String feedBack);

    List<Repair> listByOwnerId(Long userId);

    List<RepairsPersonal> listByOwnerIdPersonal(Long userId);
}
